在一行上输入一个十六进制数
,代表待转换的十六进制数,格式见题干。保证
转化得到的十进制数
的范围为
。
在一行上输出一个整数,代表
对应的十进制数。
0xFA93
64147
回忆十六进制转化为十进制的方法:从右往左,将第
位乘以
,然后求和。
在这个样例中,
的第
位是
,第
位是
,第
位是
,第
位是
,因此
。
s = input() l = s[::-1] x = 0 d = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,'D':13,'E':14,'F':15} for i in range(len(l)): if l[i] in d: x += d[l[i]] * (16**i) else: continue print(x)
s = str(input()) s = s[2:] dic = {"A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15} n = len(s) q = [i for i in range(n)] s10i = [] for i in range(n): if s[-1 - i].isdigit(): s10i.append(eval(s[-1 - i])) elif s[-1 - i] in dic.keys(): s10i.append(dic[s[-1 - i]]) s10 = 0 for i in range(n): s10 += s10i[i] * 16 ** i print(s10)
import sys for line in sys.stdin: if line != '\n': a = line.split() result = 0 string = a[0][::-1] for i in range(len(string)-2): if string[i].isdigit(): result = result + int(string[i])*16**(i) else: result = result + (ord(string[i])-55)*16**(i) print(result, end='\n')